<!DOCTYPE html>
<html>
<head>
    

    

    
<!-- Baidu Tongji -->
<script>var _hmt = _hmt || []</script>
<script async src="//hm.baidu.com/hm.js?088c9394d6f332ce6581e9a3d824c884"></script>
<!-- End Baidu Tongji -->




    <meta charset="utf-8">
    
    
    
    <title>iptables的用法小结 | Joyace&#39;s Blog</title>
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
    
    <meta name="theme-color" content="#3F51B5">
    
    
    <meta name="keywords" content="">
    <meta name="description" content="数据流向图              IPTABLES 规则(Rules)Rules包括一个条件和一个目标(target)，如果满足条件，就执行目标(target)中的规则或者特定值；如果不满足条件，就判断下一条R">
<meta name="keywords">
<meta property="og:type" content="article">
<meta property="og:title" content="iptables的用法小结">
<meta property="og:url" content="http://Joyace.top/2017/04/27/iptables的用法小结/index.html">
<meta property="og:site_name" content="Joyace's Blog">
<meta property="og:description" content="数据流向图              IPTABLES 规则(Rules)Rules包括一个条件和一个目标(target)，如果满足条件，就执行目标(target)中的规则或者特定值；如果不满足条件，就判断下一条R">
<meta property="og:image" content="http://op1xln4w5.bkt.clouddn.com/20130702105525398.png">
<meta property="og:updated_time" content="2017-04-28T17:45:51.726Z">
<meta name="twitter:card" content="summary">
<meta name="twitter:title" content="iptables的用法小结">
<meta name="twitter:description" content="数据流向图              IPTABLES 规则(Rules)Rules包括一个条件和一个目标(target)，如果满足条件，就执行目标(target)中的规则或者特定值；如果不满足条件，就判断下一条R">
<meta name="twitter:image" content="http://op1xln4w5.bkt.clouddn.com/20130702105525398.png">
    
        <link rel="alternate" type="application/atom+xml" title="Joyace&#39;s Blog" href="/atom.xml">
    
    <link rel="shortcut icon" href="/favicon.ico">
    <link rel="stylesheet" href="//unpkg.com/hexo-theme-material-indigo@latest/css/style.css">
    <script>window.lazyScripts=[]</script>
</head>

<body>
    <div id="loading" class="active"></div>

    <aside id="menu" class="hide" >
  <div class="inner flex-row-vertical">
    <a href="javascript:;" class="header-icon waves-effect waves-circle waves-light" id="menu-off">
        <i class="icon icon-lg icon-close"></i>
    </a>
    <div class="brand-wrap" style="background-image:url(/img/brand.jpg)">
      <div class="brand">
        <a href="/" class="avatar waves-effect waves-circle waves-light">
          <img src="/img/avatar.jpg">
        </a>
        <hgroup class="introduce">
          <h5 class="nickname">Joyace</h5>
          <a href="mailto:605036335@qq.com" title="605036335@qq.com" class="mail">605036335@qq.com</a>
        </hgroup>
      </div>
    </div>
    <div class="scroll-wrap flex-col">
      <ul class="nav">
        
            <li class="waves-block waves-effect">
              <a href="/"  >
                <i class="icon icon-lg icon-home"></i>
                主页
              </a>
            </li>
        
            <li class="waves-block waves-effect">
              <a href="/archives"  >
                <i class="icon icon-lg icon-archives"></i>
                Archives
              </a>
            </li>
        
            <li class="waves-block waves-effect">
              <a href="https://github.com/Joyace" target="_blank" >
                <i class="icon icon-lg icon-github"></i>
                Github
              </a>
            </li>
        
            <li class="waves-block waves-effect">
              <a href="http://weibo.com/u/3216366760" target="_blank" >
                <i class="icon icon-lg icon-weibo"></i>
                Weibo
              </a>
            </li>
        
            <li class="waves-block waves-effect">
              <a href="http://ss.joyace.top" target="_blank" >
                <i class="icon icon-lg icon-plane"></i>
                Plane
              </a>
            </li>
        
      </ul>
    </div>
  </div>
</aside>

    <main id="main">
        <header class="top-header" id="header">
    <div class="flex-row">
        <a href="javascript:;" class="header-icon waves-effect waves-circle waves-light on" id="menu-toggle">
          <i class="icon icon-lg icon-navicon"></i>
        </a>
        <div class="flex-col header-title ellipsis">iptables的用法小结</div>
        
        <div class="search-wrap" id="search-wrap">
            <a href="javascript:;" class="header-icon waves-effect waves-circle waves-light" id="back">
                <i class="icon icon-lg icon-chevron-left"></i>
            </a>
            <input type="text" id="key" class="search-input" autocomplete="off" placeholder="输入感兴趣的关键字">
            <a href="javascript:;" class="header-icon waves-effect waves-circle waves-light" id="search">
                <i class="icon icon-lg icon-search"></i>
            </a>
        </div>
        
        
        <a href="javascript:;" class="header-icon waves-effect waves-circle waves-light" id="menuShare">
            <i class="icon icon-lg icon-share-alt"></i>
        </a>
        
    </div>
</header>
<header class="content-header post-header">

    <div class="container fade-scale">
        <h1 class="title">iptables的用法小结</h1>
        <h5 class="subtitle">
            
                <time datetime="2017-04-27T14:05:45.000Z" itemprop="datePublished" class="page-time">
  2017-04-27
</time>


            
        </h5>
    </div>

    


</header>


<div class="container body-wrap">
    
    <aside class="post-widget">
        <nav class="post-toc-wrap" id="post-toc">
            <h4>TOC</h4>
            <ol class="post-toc"><li class="post-toc-item post-toc-level-1"><a class="post-toc-link" href="#IPTABLES-规则-Rules"><span class="post-toc-number">1.</span> <span class="post-toc-text">IPTABLES 规则(Rules)</span></a></li><li class="post-toc-item post-toc-level-1"><a class="post-toc-link" href="#IPTABLES命令参数、说明及例子"><span class="post-toc-number">2.</span> <span class="post-toc-text">IPTABLES命令参数、说明及例子</span></a></li></ol>
        </nav>
    </aside>
    
<article id="post-iptables的用法小结"
  class="post-article article-type-post fade" itemprop="blogPost">

    <div class="post-card">
        <h1 class="post-card-title">iptables的用法小结</h1>
        <div class="post-meta">
            <time class="post-time" title="2017-04-27 22:05:45" datetime="2017-04-27T14:05:45.000Z"  itemprop="datePublished">2017-04-27</time>

            


            
<span id="busuanzi_container_page_pv" title="文章总阅读量" style='display:none'>
    <i class="icon icon-eye icon-pr"></i><span id="busuanzi_value_page_pv"></span>
</span>


            

        </div>
        <div class="post-content" id="post-content" itemprop="postContent">
            <figure class="image-bubble">
                <div class="img-lightbox">
                    <div class="overlay"></div>
                    <img src="http://op1xln4w5.bkt.clouddn.com/20130702105525398.png" alt="数据流向图" title="">
                </div>
                <div class="image-caption">数据流向图</div>
            </figure>
<h1 id="IPTABLES-规则-Rules"><a href="#IPTABLES-规则-Rules" class="headerlink" title="IPTABLES 规则(Rules)"></a>IPTABLES 规则(Rules)</h1><p>Rules包括一个条件和一个目标(target)，如果满足条件，就执行目标(target)中的规则或者特定值；如果不满足条件，就判断下一条Rules。<br>目标值（TargetValues）：<br>ACCEPT – 允许防火墙接收数据包<br>REJECT – 防火墙拒绝数据包，与”DROP”相比会有回应产生<br>DROP – 防火墙丢弃包<br>REDIRECT – 防火墙将数据包重定向<br>SNAT – 源地址翻译，将内网地址转换成公网的合法地址<br>DNAT – 目标地址翻译，多用在内部服务器的发布<br>MASQUERADE – 地址伪装，用在外网口地址经常发生变动（如pppoe拨号上网）的情况下<br>QUEUE – 防火墙将数据包移交到用户空间<br>RETURN – 防火墙停止执行当前链中的后续Rules，并返回到调用链(the calling chain)中。</p>
<h1 id="IPTABLES命令参数、说明及例子"><a href="#IPTABLES命令参数、说明及例子" class="headerlink" title="IPTABLES命令参数、说明及例子"></a>IPTABLES命令参数、说明及例子</h1><p><strong>-A, –append</strong><br>新增规则(追加方式)到某个规则链中，该规则将会成为规则链中的最后一条规则。<br><figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">iptables -A INPUT ...</div></pre></td></tr></table></figure></p>
<p><strong>-D, –delete</strong><br>从某个规则链中删除一条规则，可以输入完整规则，或直接指定规则编号加以删除。<br><figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div></pre></td><td class="code"><pre><div class="line">iptables -D INPUT 1</div><div class="line"><span class="comment"># 删除INPUT链中的第一条规则</span></div></pre></td></tr></table></figure></p>
<p><strong>-I, –insert</strong><br>插入一条规则<br><figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div></pre></td><td class="code"><pre><div class="line">iptables -I INPUT 1 --dport 80 -j ACCEPT </div><div class="line"><span class="comment"># 插入一条规则，原本该位置(位置1)上的规则将会往后移动一个顺位，变成第二条规则</span></div></pre></td></tr></table></figure></p>
<p><strong>-R, –replace</strong><br>取代现行规则，规则被取代后并不会改变顺序<br><figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">iptables -R INPUT 1 <span class="_">-s</span> 192.168.0.1 -j DROP</div></pre></td></tr></table></figure></p>
<p><strong>-L, –list</strong><br>列出某规则链中的所有规则。<br><figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">iptables -L INPUT</div></pre></td></tr></table></figure></p>
<p><strong>-S, –list-rules</strong><br>直接列出某规则链中的规则。<br><figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">iptables -S INPUT</div></pre></td></tr></table></figure></p>
<p><strong>-F, –flush</strong><br>删除某规则链中的所有规则。<br><figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">iptables -F INPUT</div></pre></td></tr></table></figure></p>
<p><strong>-Z, –zero</strong><br>将封包计数器归零。封包计数器是用来计算同一封包出现次数，是过滤阻断式攻击不可或缺的工具。<br><figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">iptables -Z INPUT</div></pre></td></tr></table></figure></p>
<p><strong>-N, –new-chain</strong><br>定义新的规则链。<br><figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div></pre></td><td class="code"><pre><div class="line">iptables -N allowed</div><div class="line"><span class="comment"># 定义一条名为“allowed”的新链</span></div></pre></td></tr></table></figure></p>
<p><strong>-X, –delete-chain</strong><br>删除某个规则链。<br><figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div></pre></td><td class="code"><pre><div class="line">iptables -X allowed</div><div class="line"><span class="comment"># 删除一条名为“allowed”的新链</span></div></pre></td></tr></table></figure></p>
<p><strong>-P, –policy</strong><br>定义过滤政策。也就是未符合过滤条件之封包，预设的处理方式。<br><figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">iptables -P INPUT DROP</div></pre></td></tr></table></figure></p>
<p><strong>-E, –rename-chain</strong><br>修改某自订规则链的名称。<br><figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div></pre></td><td class="code"><pre><div class="line">iptables -E allowed disallowed</div><div class="line"><span class="comment"># 将名为“allowed”的链更名为”disallowed”</span></div></pre></td></tr></table></figure></p>
<p><strong>-h</strong><br>显示帮助信息<br><figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">iptables -h</div></pre></td></tr></table></figure></p>
<p><strong>-p, –protocol</strong><br>比对通讯协议类型是否相符，可以使用 ! 运算子进行反向比对，例如：-p ! tcp<br><figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">iptables -A INPUT -p tcp (指定协议) -p all 所有协议， -p !tcp 去除tcp外的所有协议。</div></pre></td></tr></table></figure></p>
<p><strong>-s, –src,–source</strong><br>用来比对封包的来源 IP，可以比对单机或网络，比对网络时请用数字来表示屏蔽，比对 IP 时可以使用 ! 运算子进行反向比对<br><figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div></pre></td><td class="code"><pre><div class="line">iptables -A INPUT <span class="_">-s</span> 192.168.1.1</div><div class="line"><span class="comment">#匹配源地址192.168.1.1</span></div></pre></td></tr></table></figure></p>
<p><strong>-d, –dst,–destination</strong><br>用来比对封包的目的地 IP，设定方式同上。<br><figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">iptables -A INPUT <span class="_">-d</span> 192.168.1.1</div></pre></td></tr></table></figure></p>
<p><strong>-j, –jump</strong><br>用来指定要进行的处理动作<br><figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8080</div></pre></td></tr></table></figure></p>
<p><strong>-g, –goto</strong><br>用于指明包需要进行一个用户自定义链的处理。当使用–jump转到某个链中时，return不会继续后面的链中处理，而是返回至调用–jump的链中。而–goto与之不同。<br><figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div><div class="line">5</div><div class="line">6</div></pre></td><td class="code"><pre><div class="line">iptables -N TESTA</div><div class="line">iptables -A FORWARD <span class="_">-s</span> 192.168.1.1 -j TESTA</div><div class="line"><span class="comment"># 上面的例子中-j(jump)相当于调用，自定义链结束后返回</span></div><div class="line">iptables -N TESTB</div><div class="line">iptables -A FORWARD <span class="_">-s</span> 192.168.1.1 -g TESTB</div><div class="line"><span class="comment"># -g(goto)一去不复返</span></div></pre></td></tr></table></figure></p>
<p><strong>-i, –in-interface</strong><br>用来比对封包是从哪个网卡进入，可以使用通配字符 + 来做大范围比对<br><figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div></pre></td><td class="code"><pre><div class="line">iptables -A INPUT -i eth0</div><div class="line"><span class="comment"># -i eth+ 表示所有的 ethernet 网卡</span></div><div class="line"><span class="comment"># -i ! eth0 表示eth0以外的所有ethernet网卡</span></div></pre></td></tr></table></figure></p>
<p><strong>-o, –out-interface</strong><br>用来比对封包要从哪个网卡送出，设定方式同上。<br><figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">iptables -A FORWARD -o eth0</div></pre></td></tr></table></figure></p>
<p><strong>-f, –fragment</strong><br>这意味着在分片的包碎片，规则只询问第二及以后的片。自那以后由于无法判断这种把包的源端口或目标端口（或者是ICMP类型的），这类包将不能匹配任何指定对他们进行匹配的规则。如果”!”说明用在了”-f”标志之前，表示相反的意思。<br><figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div></pre></td><td class="code"><pre><div class="line">iptables -A FORWARD <span class="_">-f</span> <span class="_">-s</span> 192.168.1.0/24 <span class="_">-d</span> 192.168.2.100 -j ACCEPT</div><div class="line"><span class="comment"># 指定第二个及其以后的 ip 碎片的数据流向</span></div></pre></td></tr></table></figure></p>
<p><strong>-c, –set-counters</strong><br>在创建或更改规则时设置计数器<br><figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div></pre></td><td class="code"><pre><div class="line">--set-counters 20 4000</div><div class="line"><span class="comment"># 意思是让内核把包计数器设为20，把字节计数器设为4000。</span></div></pre></td></tr></table></figure></p>
<p><strong>-v, –verbose</strong><br>在查看规则时显示详细信息<br><figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">iptables -t filter -L -n -v --line-number</div></pre></td></tr></table></figure></p>
<p><strong>-n, –numeric</strong><br>在查看规则时以数字形式显示<br><figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">iptables -t filter -L -n -v --line-number</div></pre></td></tr></table></figure></p>
<p><strong>-x, –exact</strong><br>扩展数字，显示包和字节计数器的精确值，代替用K,M,G表示的约数。这个选项仅能用于 -L 命令。<br><figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">iptables -t filter -L -n –v</div></pre></td></tr></table></figure></p>
<p><strong>-x –line-number</strong><br><strong>–sport, –source-port</strong><br>用来比对封包的来源端口号，可以比对单一端口，或是一个范围：–sport 22:80，表示从 22 到 80 端口之间都算是符合件<br><strong>–dport, -destination-port</strong><br>用来比对封包的目的端口号，设定方式同上。<br><figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">iptables -A INPUT -p tcp --dport 22</div></pre></td></tr></table></figure></p>
<p><strong>–tcp-flags</strong><br>比对 TCP 封包的状态旗号，参数分为两个部分，第一个部分列举出想比对的旗号第二部分则列举前述旗号中哪些有被设，未被列举的旗号必须是空的。TCP 状态旗号包括：SYN（同步）、ACK（应答）、<br>FIN（结束）、RST（重设）、URG（紧急）PSH（强迫推送）等均可使用于参数中，除此之外还可以使用关键词 ALL 和 NONE 进行比对。比对旗号时，可以使用 ! 运算子行反向比对。<br><figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">iptables -p tcp --tcp-flags SYN,FIN,ACK SYN</div></pre></td></tr></table></figure></p>
<p><strong>–syn</strong><br>用来比对是否为要求联机之 TCP 封包<br><figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">iptables -p tcp --syn</div></pre></td></tr></table></figure></p>
<p><strong>-m multiport –source-port</strong><br>用来比对不连续的多个来源埠号，一次最多可以比对 15 个埠，可以使用 ! 运算进行反向比对。<br><figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">iptables -A INPUT -p tcp -m multiport --source-port 22,53,80,110</div></pre></td></tr></table></figure></p>
<p><strong>-m multiport –destination-port</strong><br>用来比对不连续的多个目的地埠号，设定方式同上。<br><figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">iptables -A INPUT -p tcp -m multiport --destination-port 22,53,80,110</div></pre></td></tr></table></figure></p>
<p><strong>-m multiport –port</strong><br>这个参数比较特殊，用来比对来源埠号和目的埠号相同的封包，设定方式同上。<br><figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div></pre></td><td class="code"><pre><div class="line">iptables -A INPUT -p tcp -m multiport --port 22,53,80,110</div><div class="line"><span class="comment"># 注意：在本范例中，如果来源端口号为 80目的地埠号为 110，这种封包并不算符合条件。</span></div></pre></td></tr></table></figure></p>
<p><strong>–icmp-type</strong><br>用来比对 ICMP 的类型编号，可以使用代码或数字编号来进行比对。<br><figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div></pre></td><td class="code"><pre><div class="line">iptables -A INPUT -p icmp --icmp-type 8</div><div class="line"><span class="comment"># 可以使用iptables -p icmp --help 来查看有哪些代码可用。</span></div></pre></td></tr></table></figure></p>
<p><strong>-m limit –limit</strong><br>用来比对某段时间内封包的平均流量<br><figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div></pre></td><td class="code"><pre><div class="line">iptables -A INPUT -m <span class="built_in">limit</span> --limit 3/hour</div><div class="line"><span class="comment"># 表示每小时平均流量是否超过一次 3 个封包。除了每小时平均次外，也可以每秒钟、每分钟或每天平均一次，默认值为每小时平均一次，参数如后： /second、 /minute、/day。除了进行封数量的比对外，设定这个参数也会在条件达成时，暂停封包的比对动作，以避免因骇客使用洪水攻击法，导致服务被阻断。</span></div></pre></td></tr></table></figure></p>
<p><strong>–limit-burst</strong><br>用来比对瞬间大量封包的数量<br><figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div></pre></td><td class="code"><pre><div class="line">iptables -A INPUT -m <span class="built_in">limit</span> --limit-burst 5</div><div class="line"><span class="comment"># 比对一次同时涌入的封包是否超过 5 个（这是默认值），超过此上限的封将被直接丢弃。</span></div></pre></td></tr></table></figure></p>
<p><strong>-m mac –mac-source</strong><br>用来比对封包来源网络接口的硬件地址，这个参数不能用在 OUTPUT 和 Postrouting规则链上，这是因为封包要送出到网后，才能由网卡驱动程序透过 ARP 通讯协议查出目的地的 MAC 地址，所以 iptables 在进行封包比对时，并不知道封包会送到哪个网络接口去。<br><figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">iptables -A INPUT -m mac --mac-source 00:00:00:00:00:01</div></pre></td></tr></table></figure></p>
<p><strong>–mark</strong><br>用来比对封包是否被表示某个号码，当封包被比对成功时，我们可以透过 MARK 处理动作，将该封包标示一个号码，号码最不可以超过 4294967296。<br><figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">iptables -t mangle -A INPUT -m mark --mark 1</div></pre></td></tr></table></figure></p>
<p><strong>-m owner –uid-owner</strong><br>用来比对来自本机的封包，是否为某特定使用者所产生的，这样可以避免服务器使用 root 或其它身分将敏感数据传送出，可以降低系统被骇的损失。可惜这个功能无法比对出来自其它主机的封包。<br><figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">iptables -A OUTPUT -m owner --uid-owner 500</div></pre></td></tr></table></figure></p>
<p><strong>-m owner –gid-owner</strong><br>用来比对来自本机的封包，是否为某特定使用者群组所产生的，使用时机同上。<br><figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">iptables -A OUTPUT -m owner --gid-owner 0</div></pre></td></tr></table></figure></p>
<p><strong>-m owner –sid-owner</strong><br>用来比对来自本机的封包，是否为某特定联机（Session ID）的响应封包，使用时机同上。<br><figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">iptables -A OUTPUT -m owner --sid-owner 100</div></pre></td></tr></table></figure></p>
<p><strong>-m state –state</strong><br>用来比对联机状态，联机状态共有四种：INVALID、ESTABLISHED、NEW 和 RELATED。<br>INVALID 表示该封包的联机编号（Session ID）无法辨识或编号不正确。<br>ESTABLISHED 表示该封包属于某个已经建立的联机。<br>NEW 表示该封包想要起始一个联机（重设联机或将联机重导向）。<br>RELATED 表示该封包是属于某个已经建立的联机，所建立的新联机。例如：FTP-DATA 联机必定是源自某个 FTP 联机。<br><figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">iptables -A INPUT -m state --state RELATED,ESTABLISHED</div></pre></td></tr></table></figure></p>
<p><strong>–line-numbers</strong><br>在列出规则的时候加上行号<br><figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">iptables -t filter -L -n -v --line-number</div></pre></td></tr></table></figure></p>
<p><strong>–modprobe</strong><br>添加规则时加载必需的模块<br><figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">iptables -t nat -A PREROUTING <span class="_">-d</span> 192.168.1.44 -p tcp --dport 21 -i eth0 -j DNAT --to 192.168.2.100 --modprobe=ip_nat_ftp</div></pre></td></tr></table></figure></p>

        </div>

        <blockquote class="post-copyright">
    <div class="content">
        
<span class="post-time">
    最后更新时间：<time datetime="2017-04-28T17:45:51.726Z" itemprop="dateUpdated">2017-04-29 01:45:51</time>
</span><br>


        
        这里可以写作者留言，标签和 hexo 中所有变量及辅助函数等均可调用，示例：<a href="/2017/04/27/iptables的用法小结/" target="_blank" rel="external">http://Joyace.top/2017/04/27/iptables的用法小结/</a>
        
    </div>
    <footer>
        <a href="http://Joyace.top">
            <img src="/img/avatar.jpg" alt="Joyace">
            Joyace
        </a>
    </footer>
</blockquote>

        
<div class="page-reward">
    <a id="rewardBtn" href="javascript:;" class="page-reward-btn waves-effect waves-circle waves-light">赏</a>
</div>



        <div class="post-footer">
            

            
<div class="page-share-wrap">
    

<div class="page-share" id="pageShare">
    <ul class="reset share-icons">
      <li>
        <a class="weibo share-sns" target="_blank" href="http://service.weibo.com/share/share.php?url=http://Joyace.top/2017/04/27/iptables的用法小结/&title=《iptables的用法小结》 — Joyace's Blog&pic=http://Joyace.top/img/avatar.jpg" data-title="微博">
          <i class="icon icon-weibo"></i>
        </a>
      </li>
      <li>
        <a class="weixin share-sns wxFab" href="javascript:;" data-title="微信">
          <i class="icon icon-weixin"></i>
        </a>
      </li>
      <li>
        <a class="qq share-sns" target="_blank" href="http://connect.qq.com/widget/shareqq/index.html?url=http://Joyace.top/2017/04/27/iptables的用法小结/&title=《iptables的用法小结》 — Joyace's Blog&source=" data-title=" QQ">
          <i class="icon icon-qq"></i>
        </a>
      </li>
      <li>
        <a class="facebook share-sns" target="_blank" href="https://www.facebook.com/sharer/sharer.php?u=http://Joyace.top/2017/04/27/iptables的用法小结/" data-title=" Facebook">
          <i class="icon icon-facebook"></i>
        </a>
      </li>
      <li>
        <a class="twitter share-sns" target="_blank" href="https://twitter.com/intent/tweet?text=《iptables的用法小结》 — Joyace's Blog&url=http://Joyace.top/2017/04/27/iptables的用法小结/&via=http://Joyace.top" data-title=" Twitter">
          <i class="icon icon-twitter"></i>
        </a>
      </li>
      <li>
        <a class="google share-sns" target="_blank" href="https://plus.google.com/share?url=http://Joyace.top/2017/04/27/iptables的用法小结/" data-title=" Google+">
          <i class="icon icon-google-plus"></i>
        </a>
      </li>
    </ul>
 </div>



    <a href="javascript:;" id="shareFab" class="page-share-fab waves-effect waves-circle">
        <i class="icon icon-share-alt icon-lg"></i>
    </a>
</div>



        </div>
    </div>

    
<nav class="post-nav flex-row flex-justify-between">
  
    <div class="waves-block waves-effect prev">
      <a href="/2017/04/27/Google关闭安全搜索/" id="post-prev" class="post-nav-link">
        <div class="tips"><i class="icon icon-angle-left icon-lg icon-pr"></i> Prev</div>
        <h4 class="title">Google关闭安全搜索</h4>
      </a>
    </div>
  

  
    <div class="waves-block waves-effect next">
      <a href="/2017/04/27/【openwrt官方】最新trunk版（K1 K2 yk1 miwifi专版）/" id="post-next" class="post-nav-link">
        <div class="tips">Next <i class="icon icon-angle-right icon-lg icon-pl"></i></div>
        <h4 class="title">【openwrt官方】最新trunk版（K1 K2 yk1 miwifi专版）</h4>
      </a>
    </div>
  
</nav>



    










</article>

<div id="reward" class="page-modal reward-lay">
    <a class="close" href="javascript:;"><i class="icon icon-close"></i></a>
    <h3 class="reward-title">
        <i class="icon icon-quote-left"></i>
        喵呜~
        <i class="icon icon-quote-right"></i>
    </h3>
    <ul class="reward-items">
        
        <li>
            <img src="/img/wechat.jpg" title="微信打赏二维码" alt="微信打赏二维码">
            <p>微信</p>
        </li>
        

        
        <li>
            <img src="/img/alipay.jpg" title="支付宝打赏二维码" alt="支付宝打赏二维码">
            <p>支付宝</p>
        </li>
        
    </ul>
</div>



</div>

        <footer class="footer">
    <div class="top">
        
<p>
    <span id="busuanzi_container_site_uv" style='display:none'>
        站点总访客数：<span id="busuanzi_value_site_uv"></span>
    </span>
    <span id="busuanzi_container_site_pv" style='display:none'>
        站点总访问量：<span id="busuanzi_value_site_pv"></span>
    </span>
</p>


        <p>
            
                <span><a href="/atom.xml" target="_blank" class="rss" title="rss"><i class="icon icon-lg icon-rss"></i></a></span>
            
            <span>博客内容遵循<a rel="license" href="https://creativecommons.org/licenses/by-nc-sa/4.0/deed.zh">知识共享 署名 - 非商业性 - 相同方式共享 4.0 国际协议</a></span>
        </p>
    </div>
    <div class="bottom">
        <p>
            <span>Power by <a href="http://hexo.io/" target="_blank">Hexo</a> Theme <a href="https://github.com/yscoder/hexo-theme-indigo" target="_blank">indigo</a></span>
            <span>Joyace &copy; 2017</span>
        </p>
    </div>
</footer>

    </main>
    <div class="mask" id="mask"></div>
<a href="javascript:;" id="gotop" class="waves-effect waves-circle waves-light"><span class="icon icon-lg icon-chevron-up"></span></a>



<div class="global-share" id="globalShare">
    <ul class="reset share-icons">
      <li>
        <a class="weibo share-sns" target="_blank" href="http://service.weibo.com/share/share.php?url=http://Joyace.top/2017/04/27/iptables的用法小结/&title=《iptables的用法小结》 — Joyace's Blog&pic=http://Joyace.top/img/avatar.jpg" data-title="微博">
          <i class="icon icon-weibo"></i>
        </a>
      </li>
      <li>
        <a class="weixin share-sns wxFab" href="javascript:;" data-title="微信">
          <i class="icon icon-weixin"></i>
        </a>
      </li>
      <li>
        <a class="qq share-sns" target="_blank" href="http://connect.qq.com/widget/shareqq/index.html?url=http://Joyace.top/2017/04/27/iptables的用法小结/&title=《iptables的用法小结》 — Joyace's Blog&source=" data-title=" QQ">
          <i class="icon icon-qq"></i>
        </a>
      </li>
      <li>
        <a class="facebook share-sns" target="_blank" href="https://www.facebook.com/sharer/sharer.php?u=http://Joyace.top/2017/04/27/iptables的用法小结/" data-title=" Facebook">
          <i class="icon icon-facebook"></i>
        </a>
      </li>
      <li>
        <a class="twitter share-sns" target="_blank" href="https://twitter.com/intent/tweet?text=《iptables的用法小结》 — Joyace's Blog&url=http://Joyace.top/2017/04/27/iptables的用法小结/&via=http://Joyace.top" data-title=" Twitter">
          <i class="icon icon-twitter"></i>
        </a>
      </li>
      <li>
        <a class="google share-sns" target="_blank" href="https://plus.google.com/share?url=http://Joyace.top/2017/04/27/iptables的用法小结/" data-title=" Google+">
          <i class="icon icon-google-plus"></i>
        </a>
      </li>
    </ul>
 </div>


<div class="page-modal wx-share" id="wxShare">
    <a class="close" href="javascript:;"><i class="icon icon-close"></i></a>
    <p>扫一扫，分享到微信</p>
    <img src="//api.qrserver.com/v1/create-qr-code/?data=http://Joyace.top/2017/04/27/iptables的用法小结/" alt="微信分享二维码">
</div>




    <script src="//cdn.bootcss.com/node-waves/0.7.4/waves.min.js"></script>
<script>
var BLOG = { ROOT: '/', SHARE: true, REWARD: true };



</script>

<script src="//unpkg.com/hexo-theme-material-indigo@latest/js/main.min.js"></script>


<div class="search-panel" id="search-panel">
    <ul class="search-result" id="search-result"></ul>
</div>
<template id="search-tpl">
<li class="item">
    <a href="{path}" class="waves-block waves-effect">
        <div class="title ellipsis" title="{title}">{title}</div>
        <div class="flex-row flex-middle">
            <div class="tags ellipsis">
                {tags}
            </div>
            <time class="flex-col time">{date}</time>
        </div>
    </a>
</li>
</template>

<script src="//unpkg.com/hexo-theme-material-indigo@latest/js/search.min.js" async></script>






<script async src="//dn-lbstatics.qbox.me/busuanzi/2.3/busuanzi.pure.mini.js"></script>





</body>
</html>
